package svm.coelce.parser.util;

import svm.coelce.parser.interfaces.VerificadorDeUC;

public class VerificadorDeUCCOELCE implements VerificadorDeUC {

	@Override
	public Integer gerarDigitoVerificador( Integer codigoUnidadeControle ){
		Integer fator			= 2,
				soma			= 0,
				digito			= null;
		String	codigoUCEmTexto	= String.format( "%d", codigoUnidadeControle );

		for( int contador = codigoUCEmTexto.length() - 1; contador >= 0; contador-- ){
			soma += Integer.parseInt( String.format( "%c", codigoUCEmTexto.charAt( contador ) ) ) * fator;

			if( fator == 30 ){
				fator = 2;

			} else {
				fator++;
			}
		}

		digito = 11 - ( soma % 11 );

		if( ( digito == 11 ) || ( digito == 10 ) ){
			digito = 0;
		}

		return digito;
	}
}
